import request from '@/utils/request'
import { getToken } from '@/utils/auth'

const getDefaultState = () => {
  return {
    token: getToken()
  }
}

const state = getDefaultState()

export default {
  state
}

// 添加书籍信息
export function createBooksInfo(data) {
  // 移除 data 中的 id 字段
  if (Object.hasOwn(data, 'id')) {
    delete data.id
  }
  return request({
    url: '/books/',
    method: 'post',
    headers: {
      'Content-Type': 'application/json'
    },
    data
  }).catch(error => {
    console.log('请求数据:', data)
    console.log('响应错误:', error)
    throw error
  })
}

// 获取所有书籍信息
export function getBooksInfo() {
  return request({
    url: '/books/',
    method: 'get',
    headers: {
      'Authorization': `Bearer ${state.token}`
    }
  })
}

// 通过书籍ID获取书籍信息
export function getBooksInfoById(id) {
  return request({
    url: '/books/' + id,
    method: 'get'
  })
}

// 更新书籍信息
export function UpdateBooksInfoById(id, data) {
  return request({
    url: `/books/${id}`, // 使用模板字符串拼接 URL
    method: 'put',
    data // 传递请求体
  })
}

// 删除书籍信息接口
export function DeleteBooksInfoById(id) {
  if (!id) {
    console.error('书籍 ID 未定义')
    return
  }
  return request({
    url: '/books/' + id,
    method: 'delete'
  })
}
